#

軸はグラフに不可欠な部分です。これらは、データがチャート上のピクセル値にどのようにマッピングされるかを決定するために使用されます。デカルト チャートには、2 次元のキャンバスに点をマッピングするための 1 つ以上の X 軸と 1 つ以上の Y 軸があります。これらの軸は次のように知られています「デカルト軸」

レーダー チャートや極エリア チャートなどの放射状チャートには、角度方向と半径方向の点をマッピングする 1 つの軸があります。これらはとして知られています「放射軸」

Chart.js >v2.0 のスケールは大幅に強力ですが、v1.0 のスケールとは異なります。

  • 複数の X 軸と Y 軸がサポートされています。
  • 組み込みのラベル自動スキップ機能は、重複する可能性のある目盛とラベルを検出し、n 番目ごとのラベルを削除して、正常に表示された状態を保ちます。
  • スケールタイトルがサポートされています。
  • 新しいスケール タイプは、まったく新しいグラフ タイプを作成しなくても拡張できます。

#デフォルトのスケール

デフォルトscaleIdデカルト チャートの は次のとおりです。'x''y'。放射状チャートの場合:'r'。 各データセットは、必要な各軸 (x、y、または r) のスケールにマッピングされます。データセットがマッピングされるscaleIdは、xAxisIDyAxisIDまたrAxisID。 軸の ID が指定されていない場合は、その軸の最初のスケールが使用されます。軸のスケールが見つからない場合は、新しいスケールが作成されます。

いくつかの例:

次のグラフには、'x''y'スケール:

let chart = new Chart(ctx, {
  type: 'line'
});

次のグラフにはスケールが付いています'x''myScale':

let chart = new Chart(ctx, {
  type: 'bar',
  data: {
    datasets: [{
      data: [1, 2, 3]
    }]
  },
  options: {
    scales: {
      myScale: {
        type: 'logarithmic',
        position: 'right', // `axis` is determined by the position as `'y'`
      }
    }
  }
});

次のグラフにはスケールが付いています'xAxis''yAxis':

let chart = new Chart(ctx, {
  type: 'bar',
  data: {
    datasets: [{
      yAxisID: 'yAxis'
    }]
  },
  options: {
    scales: {
      xAxis: {
        // The axis for this scale is determined from the first letter of the id as `'x'`
        // It is recommended to specify `position` and / or `axis` explicitly.
        type: 'time',
      }
    }
  }
});

次のグラフには、'r'規模:

let chart = new Chart(ctx, {
  type: 'radar'
});

次のグラフには、'myScale'規模:

let chart = new Chart(ctx, {
  type: 'radar',
  scales: {
    myScale: {
      axis: 'r'
    }
  }
});

#共通構成

ノート

これらはすべての軸でサポートされる共通のオプションのみです。その軸で使用可能なすべてのオプションについては、特定の軸のドキュメントを参照してください。

#全軸共通オプション

名前空間:options.scales[scaleId]

名前 タイプ デフォルト 説明
type string 使用されているスケールの種類。カスタム スケールを作成し、文字列キーを使用して登録できます。これにより、グラフの軸のタイプを変更できます。
alignToPixels boolean false ピクセル値をデバイスのピクセルに合わせます。
backgroundColor Color スケール領域の背景色。
border object 境界線の構成。もっと...
display boolean|string true 軸のグローバル可視性を制御します (次の場合に表示されます)。true、いつ隠されるかfalse)。いつdisplay: 'auto'、軸は、少なくとも 1 つの関連データセットが表示されている場合にのみ表示されます。
grid object グリッドラインの構成。もっと...
min number ユーザー定義のスケールの最小値。データの最小値をオーバーライドします。もっと...
max number ユーザー定義のスケールの最大値。データの最大値をオーバーライドします。もっと...
reverse boolean false スケールを逆にします。
stacked boolean|string false データをスタックする必要があります。もっと...
suggestedMax number データの最大値を計算するときに使用される調整。もっと...
suggestedMin number 最小データ値を計算するときに使用される調整。もっと...
ticks object 設定にチェックマークを付けます。もっと...
weight number 0 軸のソートに使用される重み。重みが大きいほど、チャート領域から遠くなります。

#ティック設定

ノート

これらは、すべての軸でサポートされる共通の目盛オプションにすぎません。その軸で使用可能なすべての目盛オプションについては、特定の軸のドキュメントを参照してください。

#すべての軸に共通の目盛オプション

名前空間:options.scales[scaleId].ticks

名前 タイプ スクリプト可能 デフォルト 説明
backdropColor Color はい 'rgba(255, 255, 255, 0.75)' ラベルの背景の色。
backdropPadding Padding 2 ラベルの背景のパディング。
callback function チャート上に表示されるティック値の文字列表現を返します。見る折り返し電話
display boolean true true の場合、目盛りラベルを表示します。
color Color はい Chart.defaults.color ダニの色。
font Font はい Chart.defaults.font 見るフォント
major object {} メジャーティックの設定
padding number 3 軸からの目盛りラベルのオフセットを設定します。
showLabelBackdrop boolean はい true放射状スケールの場合、falseさもないと true の場合、目盛ラベルの後ろに背景を描画します。
textStrokeColor Color はい 「」 テキストの周囲のストロークの色。
textStrokeWidth number はい 0 テキストの周囲のストロークの幅。
z number 0 目盛りレイヤーの Z インデックス。チャート領域に目盛りを描画する場合に便利です。値 <= 0 はデータセットの下に描画され、値 > 0 は上に描画されます。

#軸範囲の設定

軸範囲設定の数を考慮すると、それらすべてがどのように相互作用するかを理解することが重要です。

suggestedMaxsuggestedMin設定は、軸のスケールに使用されるデータ値のみを変更します。これらは、自動フィット動作を維持しながら軸の範囲を拡張するのに役立ちます。

let minDataValue = Math.min(mostNegativeValue, options.suggestedMin);
let maxDataValue = Math.max(mostPositiveValue, options.suggestedMax);

この例では、正の最大値は 50 ですが、データの最大値は 100 まで拡張されます。ただし、最小データ値は 100 を下回っているため、suggestedMin設定しても無視されます。

let chart = new Chart(ctx, {
    type: 'line',
    data: {
        datasets: [{
            label: 'First dataset',
            data: [0, 20, 40, 50]
        }],
        labels: ['January', 'February', 'March', 'April']
    },
    options: {
        scales: {
            y: {
                suggestedMin: 50,
                suggestedMax: 100
            }
        }
    }
});

とは対照的に、suggested*設定、minmax設定により、軸に明示的な終端が設定されます。これらを設定すると、一部のデータ ポイントが表示されなくなる場合があります。

#スタッキング

デフォルトでは、データはスタックされません。もしstacked値スケール (水平チャートの Y 軸) のオプションは次のとおりです。true、正の値と負の値は別々に積み重ねられます。さらに、stackデータセットごとにオプションを定義して、さらにスタック グループに分割できます。もっと...。 グラフによっては、正の値と負の値を積み上げたい場合があります。それは指定することで実現できますstacked: 'single'

#コールバック

更新プロセスのさまざまな時点でスケールのパラメーターを変更するために使用できる構成コールバックが多数あります。オプションは、軸オプションの最上位レベルで提供されます。

名前空間:options.scales[scaleId]

名前 引数 説明
beforeUpdate axis 更新プロセスが開始される前に呼び出されるコールバック。
beforeSetDimensions axis ディメンションが設定される前に実行されるコールバック。
afterSetDimensions axis ディメンションが設定された後に実行されるコールバック。
beforeDataLimits axis データ制限が決定される前に実行されるコールバック。
afterDataLimits axis データ制限が決定された後に実行されるコールバック。
beforeBuildTicks axis ティックが作成される前に実行されるコールバック。
afterBuildTicks axis ティックの作成後に実行されるコールバック。ダニのフィルタリングに役立ちます。
beforeTickToLabelConversion axis ティックが文字列に変換される前に実行されるコールバック。
afterTickToLabelConversion axis ティックが文字列に変換された後に実行されるコールバック。
beforeCalculateLabelRotation axis 目盛りの回転が決定される前に実行されるコールバック。
afterCalculateLabelRotation axis ティック回転が決定された後に実行されるコールバック。
beforeFit axis スケールがキャンバスに適合する前に実行されるコールバック。
afterFit axis スケールがキャンバスにフィットした後に実行されるコールバック。
afterUpdate axis 更新プロセスの最後に実行されるコールバック。

#軸のデフォルトの更新

スケールのデフォルト構成は簡単に変更できます。新しいオプションを次のように設定するだけです。Chart.defaults.scales[type]

たとえば、すべての線形スケールの最小値を 0 に設定するには、次の手順を実行します。この時間以降に作成された線形スケールの最小値は 0 になります。

Chart.defaults.scales.linear.min = 0;

#新しい軸の作成

新しい軸を作成するには、を参照してください。開発者ドキュメント

最終更新: 2023 年 4 月 28 日、午前 5 時 18 分 20 秒